#include"Processbar.h"
#include<unistd.h>

////下载单个
//void download()
//{
//  double filesize=100*1024*1024*1.0;//文件大小100兆
//  double current=0.0;//当前下载量
//  double bandwidth=1024*1024*1.0;//网络带宽1兆
//
//  printf("download begin, current: %lf\n", current);
//  while(current<=filesize)
//  {
//    //打印进度条
//    ProcBar(filesize,current);
//
//    //从网络获取数据
//    current+=bandwidth;
//    usleep(10000);
//  }
//
//  printf("\ndownload complete!   filesize:%lf\n",filesize);
//}

//下载多个
double bandwidth=1024*1024*1.0;//网络带宽1兆
void download(double filesize,callback_t cb)//用函数指针也很方便
{
  double current=0.0;//当前下载量

  printf("download begin, current: %lf\n", current);
  while(current<=filesize)
  {
    cb(filesize,current);

    //从网络获取数据
    current+=bandwidth;
    usleep(10000);
  }

  printf("\ndownload complete!   filesize:%lf\n",filesize);
}

int main()
{
  //ForTest();
  
  //测试一下version3版的进度条
  //ProcBar(100.0,56.9);
  //ProcBar(100.0,1,0);
  //ProcBar(100.0,77.7);

  //下载测试（单个）
  //download();

  //多个
  download(200*1024*1024,ProcBar);
  download(400*1024*1024,ProcBar);
  download(50*1024*1024,ProcBar);
  download(10*1024*1024,ProcBar);
  return 0;
}
